$(function(){
	//0 自定义滚动条
	 $(".content_list").mCustomScrollbar();
	 
	 var $audio = $("audio");
	 var player =new Player($audio);
     var progress;
	 var voiceProgress;
	 var lyric;
	 getPlayerList();
	 //1.加载歌曲列表
	function getPlayerList(){
		$.ajax({
			url:"source/musiclist.json",
			dataType:"json",
			success:function(data){
					player.musicList=data;
				//3.1遍历获取到的数据，创建每一条音乐
				var $musicList=$(".content_list ul")
				$.each(data,function(index,ele){
						var $item =cratMusicItem(index,ele)
						
						$musicList.append($item);
				});
				initMusicInfo(data[0]);
				initMusicLyric(data[0]);
			},
			error:function(e){
				console(e);
			}
		});
	}
	
	//2.初始化歌曲信息
	function initMusicInfo(music){
		//获取应有的元素
		var $musicImage = $(".song_info_pic img");
		var $musicName = $(".song_info_name a");
		var $musicSinger = $(".song_info_singer a");
		var $musicAlbum = $(".song_info_ablum img");
		var $musicProgressName = $("music_progress_name");
		var $musicPregressTime = $(".music_progress_time");
		var $musicBg = $(".mask_bg");
		//2.1给获取到的元素赋值
		$musicImage.attr("src",music.cover);
		$musicName.text(music.name);
		$musicSinger.text(music.singer);
		$musicAlbum.text(music.album);
		$musicProgressName.text(music.name+" / "+music.singer);
		$musicPregressTime.text("00:00"+music.time);
		$musicBg.css("background","url('"+music.cover+"	')");	
	}
	//3.初始化歌词信息 
	function initMusicLyric(music){
            lyric=new Lyric(music.link_lrc);
		var $lyricContatainer=$(".song_lyric")
		//注意这里也要清空上一首歌曲的歌词和时间
		$lyricContatainer.html("");
		lyric.loadLyric(function(){
			//创建歌词列表
			$.each(lyric.lyrics, function(index,ele) {
				var $item=$("<li>"+ele+"</li>");
				$lyricContatainer.append($item);
			});
		});
	}
	
	//3.初始化进度条
	initProgress();
	function initProgress(){
	 var $progressBar =$(".music_progress_bar");
	 var $progressLine=$(".music_progress_line");
	 var $progressDot =$(".music_progress_dot");
	   progress=Progress($progressBar,$progressLine,$progressDot);
	 progress.progressclick(function(value){
	 	player.musicSeekTo(value);
	 });
	 progress.progressmove(function(value){
	 	player.musicSeekTo(value);
	 });
	 
	 var $voiceBar =$(".music_voice_bar");
	 var $voiceLine=$(".music_voice_line");
	 var $voiceDot =$(".music_voice_dot");
	    voiceProgress=Progress($voiceBar,$voiceLine,$voiceDot);
	 voiceProgress.progressclick(function(value){
	 	player.musicVoiceSeekTo(value);
	 });
	 voiceProgress.progressmove(function(value){
	 	player.musicVoiceSeekTo(value);
	 });
	}
	//4.初始化事件监听
	initEvents();
	function initEvents(){
		//1.监听歌曲的移入移出时间
	//使用事件委托动态监听鼠标移入移出
	$(".content_list").delegate(".list_music","mouseenter",function(){
		//显示子菜单
		$(this).find(".list_menu").stop().fadeIn(100);
		$(this).find(".list_time a").stop().fadeIn(100);
		//隐藏时长
	    $(this).find(".list_time span").stop().fadeOut(100);
	})
	$(".content_list").delegate(".list_music","mouseleave",function(){
		//隐藏子菜单
		$(this).find(".list_menu").stop().fadeOut(100);
		$(this).find(".list_time a").stop().fadeOut(100);
		//显示时长
		$(this).find(".list_time span").stop().fadeIn(100);
	})
	
	//2.监听复选框的点击事件
	$(".content_list").delegate(".list_check","click",function(){
		$(this).toggleClass("list_checked");
	});
	//3.添加子菜单的播放按钮的监听
	var $musicPlay=$(".music_play");
	$(".content_list").delegate(".list_menu_play","click",function(){
		//使代码更加简便
		var $item =$(this).parents(".list_music");
		//3.1切换播放的图标
		$(this).toggleClass("list_menu_play2");
		//3.2复原其他的播放图标
		$item.siblings().find(".list_menu_play")
		.removeClass("list_menu_play2");
		//3.3同步底部的播放图标
		if($(this).attr("class").indexOf("list_menu_play2")!=-1){
			 //当前是播放状态
			 $musicPlay.addClass("music_play2");
			 //让文字高亮
			 $item.find("div").css("color","#fff")
			 $item.siblings().find("div")
			 .css("color","rgba(255,255,255,0.5)");
			 }else{
			 	//当前不是播放状态
			 	$musicPlay.removeClass("music_play2");
			 	 //让文字不高亮
			 	 $item.find("div").css("color","rgba(255,255,255,0.5)")
			 }
	           //3.4切换序号的状态
	           $item.find(".list_number")
	           .toggleClass("list_number2");
	           //3.5复原其他序号的状态
	           $item.siblings().find(".list_number")
	           .removeClass("list_number2");
	           //3.6播放音乐
	           player.playMusic($item.get(0).index,$item.get(0).music);
	          //3.7替换音乐的相关信息与图片
	          initMusicInfo($item.get(0).music);
	          //3.8切换歌词信息
	          initMusicLyric($item.get(0).music);
	         });
	           //4.监听底部控制区域播放按钮的点击
	           $musicPlay.click(function(){
	           	//判断是否播放过音乐
	           	if(player.currentIndex == -1){
	           		//没有播放过音乐   找到第一个歌曲的播放按钮
	           		$(".list_music").eq(0).find(".list_menu_play").trigger("click");
	           	}else{
	           		//播放过音乐
	           		$(".list_music").eq(player.currentIndex)
	           		.find(".list_menu_play").trigger("click");
	           	}
	           });
	           //5.监听底部控制区域上一首按钮的点击
	           $(".music_pre").click(function(){
	           	$(".list_music").eq(player.preIndex()).find(".list_menu_play").trigger("click");
	           });

	           //6.监听底部控制区域下一首按钮的点击
	           $(".music_next").click(function(){
	           	$(".list_music").eq(player.nextIndex()).find(".list_menu_play").trigger("click");
	           }); 
	           //7.监听删除按钮的点击
	           $(".content_list").delegate(".list_menu_del","click",function(){
	           	//找到点击的音乐
	            var $item =$(this).parents(".list_music");
	            
	            //判断当前删除的是否为正在播放的歌曲
	            if($item.get(0).index==player.currentIndex){
	            	//是，触发下一首按钮的点击
	            	$(".music_next").trigger("click");
	            }
	            
	            $item.remove();
	            player.changeMusic($item.get(0).index);
	            
	            //重新排序
	            $(".list_music").each(function(index,ele){
	            	ele.index=index;
	            	$(ele).find(".list_number").text(index+1);
	            })
	           });
	         
	         //8.监听播放的进度
          player.musicTimeUpdate(function(currentTime,duration,timeStr){
          	//同步音乐时间
          	$(".music_progress_time").text(timeStr);
          	//同步音乐进度条
          	//计算播放比例
          	var value=currentTime / duration*100;
          	progress.setProgress(value);
          	//实现歌词同步
          	var index=lyric.currentIndex(currentTime);
          	//使随时间变化的歌词高亮
          	var $item=$(".song_lyric li").eq(index);
          	$item.addClass("cur");
          	$item.siblings().removeClass("cur");
          	
          	//让歌词滚动
          	if(index+1<=0)return;
          	$(".song_lyric").css({
          		marginTop:(-index+1)*30
          	})
          })
               //监听声音按钮的点击
               $(".music_voice_icon").click(function(){
               	//图标的切换
               	$(this).toggleClass("music_voice_icon2");
               	//声音的切换
               	if($(this).attr("class").indexOf("music_voice_icon2")!=-1){
               		//变为没声音
               		player.musicVoiceSeekTo(0);
               	}else{
               		//变为有声音
               		player.musicVoiceSeekTo(value);
               	}
               })
	};
	
	
	//创建一个方法创建一个音乐
	function cratMusicItem(index,music){
		var $item=$("<li class=\"list_music\">\n"+
							"<div class=\"list_check\"><i></i></div>\n"+
							"<div class=\"list_number\">"+(index+1)+"</div>\n"+
							"<div class=\"list_name\">"+music.name+""+
							"<div class=\"list_menu\">\n"+
								"<a href=\"javascript:;\" title=\"播放\"class='list_menu_play'></a>\n"+
								"<a href=\"javascript:;\" title=\"添加\"></a>\n"+
								"<a href=\"javascript:;\" title=\"下载\"></a>\n"+
								"<a href=\"javascript:;\" title=\"分享\"></a>\n"+
							"</div>\n"+
							
							"</div>\n"+
								"<div class=\"list_singer\">"+music.singer+"</div>\n"+
							"<div class=\"list_time\">\n"+
								"<a href=\"javascript:;\" title=\"删除\"class='list_menu_del'></a>\n"+
								"<span>"+music.time+"</span>\n"+
							
							"</div>\n"+
						"</li>");
						$item.get(0).index=index;
						$item.get(0).music=music;
						
						return $item;
	}
	//自己补全部分：下方
	movelyric();
    //创建一个方法让歌词变纯净模式
    function  movelyric(){
    	//监听纯净模式按钮的点击
               $(".music_only").click(function(){
               	$.this=this
               	//图标的切换
               	$(this).toggleClass("music_only2");
               	//纯净模式按钮的切换
               	if($(this).attr("class").indexOf("music_only2")!=-1){
               		//歌词去掉
               		$(".song_lyric_contianer").css(
               			{height:0}
               		);
               		
               	}else{
               		//重新显示歌词
               		$(".song_lyric_contianer").css(
               			{height:150}
               		);
               	}
               })
    }
    delmusic();
    //创建一个方法使上方删除按钮共连下方删除按钮
    function delmusic(index,ele){
    	//点击时触发下方删除按钮
    	$(".content_toolbar .delmusic").click(function(){
    		$(".list_music").eq(player.currentIndex)
	           		.find(".list_menu_del").trigger("click"); 
    	})
    };
    
    movemusic();
    //创建一个方法清空列表的所有歌曲
    function movemusic(index,ele){
    //找到下方删除按钮并触发
    $(".content_toolbar .movemusic").click(function(){
    	$(".list_menu_del").trigger("click");
    })
    
    }
        
});

